/*
 * server.h
 *
 *  Created on: 28/10/2011
 *      Author: Normandia
 */


#ifndef SERVER_H_
#define SERVER_H_

#include  <sys/types.h>
#include  <string.h>
#include  <stdlib.h>
#include  <signal.h>
#include <semaphore.h>
#include "epoll.h"

#include "collections/queue.h"
#include "config.h"
#include "colas_peticiones.h"
#include "collections/list.h"
#include "epoll.h"

#define LIBRE 1
#define OCUPADO 2

typedef struct {// cabecera de msg de habitacion
				uint8_t id_disco;
				uint32_t lengthDisco;
		}__attribute__((__packed__)) Mensaje ;

Mensaje discoMaestro;

int escucharConexiones();
void procesarSolicitud(int sock);
void separarMensaje();
int buscarDiscoDuplicado(void *nodo);
int func_duplicado(uint8_t);


/*
struct sockaddr_in server;
struct sockaddr_in *clients;
uint8_t *cliente_libre;
sem_t *semaforo_cliente;
char** buffer_cliente;
uint8_t num_clients;
t_queue cola_pedidos;
sem_t socket_ready;
sem_t mutex_busqueda;

*/
#endif /* SERVER_H_ */

